In a big pot, bring the milk to a steady boil. As soon as it reaches boiling point, add the citric acid, give it a stir and switch off the gas. Add ice cubes and cover the pot with lid and let it rest for 2 minutes.
Take another big container and a strainer. Separate the curdled paneer from the whey using a strainer lined with a muslin/cheese cloth.
Wash the paneer under running water to get rid of any lingering smell from the acid. Gather the cloth together and press and squeeze till most of liquid has passed out through the cloth. Tie it up and hang it over a suspended object (faucet worked for me) for 1 hour. Refrigerate the paneer for 30 minutes at least.
Place the paneer on a large plate. Add sooji and baking powder. Knead this mixture for 5-7 minutes with palm of your hand. While kneading, keep adding saffron water to the paneer till all is used up.
Add kewra water and give it a final knead.
Take a small piece of the paneer and roll it between your palms to check if no cracks appear. If there are no cracks, make equal sized 1/2" balls of paneer. Make sure they are well rolled on all sides to avoid cracks.
--------------------------------
FOR STUFFING:
Combine milk and milk powder in a small saucepan. Heat it stirring constantly to prevent burning of milk solids. Cook the mixture till it becomes thick and paste-like in texture. Switch off gas.
Transfer this mixture to a bowl and let cool.
To this, add Sooji, kesar, cardamom powder, kewra or rose essence, and chopped nuts. Mix well. Divide this mixture in smaller sized balls than paneer balls.
Take one Paneer ball and make a hollow in it. Place stuffing in it and seal all open ends. Again roll it between your palms to prevent cracks.
--------------------------------
FOR SYRUP:
Boil sugar and water along with cardamom and saffron. Add lime juice to prevent crystallization of sugar.
Keep flame medium. Drop the paneer balls in the syrup without overcrowding (about 5-6 at a time in wide container).
Cover with lid and boil for 10 minutes. About 9 minutes into boiling, flip the balls so they are evenly coated to achieve the light yellow color.
--------------------------------
FOR RABDI:
Take a thick deep pot. Bring the milk to a boil in it.
Reduce flame to low and keep simmering the milk while stirring at intervals.
While stirring, keep scraping off the sides of the pot where the milk has solidified. Put this residue back in the milk.
Once the milk has greatly reduced and consistency looks thickened, add the sugar, kewra, cardamoms, and saffron.
Keep simmering for few more minutes to incorporate flavors.
Chill in refrigerator.
--------------------------------
ASSEMBLY :
Transfer the balls to the prepared chilled Rabdi.
Garnish with chopped or slivered nuts and sprinkling of cardamom powder. Chill again before serving.